1. Field of the Invention
The present invention relates to a database management system (hereafter referred to as DBMS) in a database system. In particular the present invention relates to a data management method or system suitable for an operational environment where concurrency control is needed and where there is a mixture of data which can be updated and data which cannot be updated such as a mixture of new and past data.
2. Description of the Prior Art
Conventional database management systems employ data management methods or systems like those described below.
(i) In an environment where more than one user has access to shared data and in which the shared data is to be updated, special care must be taken to protect the data so that it is consistently structured as data of a database. In other words, care should be taken to avoid lockup or update errors which can occur when two or more users are simultaneously updating the same data.
To meet such requirements, concurrency control is needed as explained in Chapter 18 of "An Introduction to Database System" by C. J. Date, Addison-Wesley, vol. 1, 4th ed. In most cases, moreover, the concurrency control is made possible by a process called lock which restricts the sharing of data during the execution of update processes.
Chapter 19 of the above reference also describes a database description language called SQL (See Chapter 19 of the above reference) which, through the GRANT and REVOKE operations along with the VIEW condition, permits users to look up data while prohibiting data updating.
(ii) For data accessed by particular users only, it is not necessary to apply concurrency control or lock. Such data can be managed by the system after users declare them private data during database definition.
Small-sized mass storage devices have been developed for the above database. For instance, an optical disk is a small-sized mass storage device which can re-store the data that is stored in a magnetic disk which has been used widely. This re-storing of data is conditioned on frequent use by a user. For a description of optical disks, refer to "Hikari-Kioku-Sochi" by Doi Takashi et al., Hitachi-Hyoron, vol. 66, no. 8, 1984.
In the past, after data updating in a database system, users have never looked up the original data.
Therefore, after data is updated in the DBMS of a conventional database system, the original data was retained only for a short time so that it can be recovered when a failure occurs.
However, as the number of DBMS applications increases today, users' requirements for DBMSs are becoming more varied. One is the request to leave original data as past data for reference after updating. Today users are always updating the latest data (data created by the last updating operation) which causes an increase in original data stored as past data or reference data.
Any measures taken for the situation with conventional DBMSs cannot avoid controlling all data uniformly without separating past data from new data, because they only add different data to past data.
As far as query language and storage structure are concerned, the separation of new from past data may be recognized in methods such as those described in the following references: Ahn, I. Towards an Implementation of Database Management System with Temporal Support, Proc of the Int'l Conf. on Data Engineering, , IE.sup.3, 1986. Clifford, T., et al., Formal Semantics for Time in Databases, ACM TODS, Vol. 8, No. 2, 1983.
But while original data after updating continue to be stored as past data, users only look up past data and do not update past data. This does not require either a concurrency control or lock.
In conventional DBMSs, as described earlier, all data is managed uniformly without separating past from new data. Therefore an unnecessary lock process is applied to shared past data which has no possibility of being updated, resulting in meaningless overhead.
To address the problem using conventional DBMS functions, a user inevitably performs operations such as GRANT and REVOKE, as described above, each time past data is added to memory after updating; however, this approach is not feasible at all. Furthermore, in the above noted method of recognizing the separation of new from past data, employed in query language and storage structure, an unnecessary lock process is applied to shared past data which has no possibility of being updated.
As described above, re-storing in a first storage medium the data that is stored in a second storage medium is implemented by a user's direct operation. The operation needs to be direct because it is not known in advance which data should be re-stored nor when the re-storing should be conducted.